<!DOCTYPE html>
<html lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>dev_open_window [HALCON算子参考手册]</title>
<style type="text/css">
      body {
    color: #000000;
    background-color: #ffffff;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
}

.body_main {
    margin-left: 35px;
    margin-right: 35px;
}

@media screen and (min-width:992px) {

    .body_main {
        margin-left: 10%;
        margin-right: 10%;
    }

    table.toctable {
        width: 80%
    }
}

@media screen and (min-width:1400px) {

    .body_main {
        margin-left: 15%;
        margin-right: 15%;
    }

    table.toctable {
        width: 70%
    }
}

body>div ul ul {
    margin-left: inherit;
}

a:link {
    color: #0044cc;
}

a:link,
a:visited {
    text-decoration: none;
}

a:link:hover,
a:visited:hover {
    text-decoration: underline;
}

th {
    text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-rendering: optimizeLegibility;
    color: #666666;
}

code {
    font-family: monospace,monospace;
}

h1 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

h2 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

hr {
    border: 0;
    border-top: solid 1px #f28d26;
}

.pre {
    display: block;
    padding-bottom: 1ex;
    font-family: monospace;
    white-space: pre;
}

pre {
    font-family: monospace, monospace;
    padding: 1ex;
    white-space: pre-wrap;
}

.toc {
    font-size: 80%;
    border-top: 1px dashed #f28d26;
    border-bottom: 1px dashed #f28d26;
    padding-top: 5px;
    padding-bottom: 5px;
}

.inv {
    margin: 0;
    border: 0;
    padding: 0;
}

.banner {
    color: #666666;
    padding-left: 1em;
}

.logo {
    background-color: white;
}

.keyboard {
    font-size: 80%;
    padding-left: 3px;
    padding-right: 3px;
    border-radius: 5px;
    border-width: 1px;
    border-style: solid;
    border-color: #f28d26;
    background-color: #f3f3f3;
}

.warning {
    margin-top: 2ex;
    margin-bottom: 1ex;
    padding: 10px;
    text-align: center;
    border: 1px solid;
    color: #bb0000;
    background-color: #fff7f7
}

.imprint {
    margin-top: 1ex;
    font-size: 80%;
    color: #666666;
}

.imprinthead {
    font-weight: bolder;
    color: #666666;
}

.indexlink {
    text-align: right;
    padding-bottom: 5px;
}

.postscript {
    margin-top: 2ex;
    font-size: 80%;
    color: #666666
}

.evenrow {
    background-color: #e7e7ef;
    vertical-align: top;
}

.oddrow {
    background-color: #f7f7ff;
    vertical-align: top;
}

.headrow {
    background-color: #97979f;
    color: #ffffff;
    vertical-align: top;
}

.logorow {
    vertical-align: top;
}

.error {
    color: red;
}

.var {
    font-style: italic
}

.halconoperator {
    font-family: monospace, monospace;
}

span.operator {
    font-family: monospace, monospace;
}

span.procedure {
    font-family: monospace, monospace;
}

span.operation {
    font-family: monospace, monospace;
}

span.feature {
    font-family: Arial, Helvetica, Homerton, sans-serif;
}

ul {
    padding-left: 1.2em;
}

li.dot {
    list-style-type: square;
    color: #f28d26;
}

.breadcrumb {
    font-size: 80%;
    color: white;
    background-color: #062d64;
    margin-bottom: 20px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 15px;
}

.webbar {
    font-size: 80%;
    background-color: #dddddd;
    margin-top: 0px;
    margin-left: -35px;
    margin-right: -35px;
    margin-bottom: 0px;
    padding-top: 5px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 5px;
}

.footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-top: 1px dashed #f28d26;
    font-size: 80%;
    color: #666666;
    padding-bottom: 8px;
}

.footer .socialmedia a {
    padding-left: 7px;
}

.socialmedia {
    padding-top: 10px;
}

.copyright {
    margin-top: 19px;
}

.breadcrumb a {
    color: #ffffff;
    border-bottom: 1px solid white;
}

.breadcrumb a:link:hover,
.breadcrumb a:visited:hover {
    text-decoration: none;
    border-bottom: none;
}

.heading {
    margin-top: 1ex;
    font-size: 110%;
    font-weight: bold;
    color: #666666;
}

.text {
    color: black;
}

.example {
    font-size: 80%;
    background-color: #f3f3f3;
    border: 1px dashed #666666;
    padding: 10px;
}

.displaymath {
    display: block;
    text-align: center;
    margin-top: 1ex;
    margin-bottom: 1ex;
}

.title {
    float: left;
    padding-top: 3px;
    padding-bottom: 3px;
}

.signnote {
    font-family: Arial, Helvetica, Homerton, sans-serif;
    font-size: 80%;
    color: #666666;
    font-weight: lighter;
    font-style: italic
}

.par {
    margin-bottom: 1.5em;
}

.parhead {
    text-align: right;
}

.parname {
    float: left;
}

.pardesc {
    font-size: 85%;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    margin-left: 2em;
}

.parcat {
    color: #666;
    font-weight: bold;
}

*[data-if=cpp],
*[data-if=c],
*[data-if=dotnet],
*[data-if=com],
*[data-if=python] {
    display: none;
}

.tabbar {
    text-align: right;
    border-bottom: 1px solid #f28d26;
    margin-bottom: 0.5em;
}

ul.tabs {
    padding-top: 3px;
    padding-bottom: 3px;
    margin-top: 10px;
    margin-bottom: 0;
    font-size: 80%
}

ul.tabs li {
    padding-top: 3px;
    padding-bottom: 3px;
    display: inline;
    overflow: hidden;
    list-style-type: none;
    margin: 0;
    margin-left: 8px;
    border-top: 1px solid #666;
    border-left: 1px solid #666;
    border-right: 1px solid #666;
}

ul.tabs li.active {
    border-left: 1px solid #f28d26;
    border-right: 1px solid #f28d26;
    border-top: 1px solid #f28d26;
    border-bottom: 1px solid #fff;
}

ul.tabs li.inactive {
    background-color: #eee;
}

ul.tabs li a {
    padding-left: 5px;
    padding-right: 5px;
    color: #666;
}

ul.tabs li a:link:hover {
    text-decoration: none;
}

ul.tabs li.inactive a {
    color: #666;
}

ul.tabs li.active a {
    color: black;
}

dl.generic dd {
    margin-bottom: 1em;
}

.pari {
    color: olive;
}

.paro {
    color: maroon;
}

.comment {
    font-size: 80%;
    color: green;
    white-space: nowrap;
}

table.grid {
    border-collapse: collapse;
}

table.grid td {
    padding: 5px;
    border: 1px solid;
}

table.layout {
    border: 0px;
}

table.layout td {
    padding: 5px;
}

table.table {
    border-collapse: collapse;
}

table.table td {
    padding: 5px;
    border-left: 0px;
    border-right: 0px;
}

table.table tr:last-child {
    border-bottom: 1px solid;
}

table.table th {
    padding: 5px;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-left: 0px;
    border-right: 0px;
}

.details_summary {
    cursor: pointer;
}

table.toctable {
    width: 100%;
}

table.toctable col:first-child {
    width: 20%;
}

table.toctable col:nth-last-child(2) {
    width: 8%;
}

table.altcolored tr:nth-child(even) {
    background-color: #f3f3f3;
}

    </style>
<!--OP_REF_STYLE_END-->
<script>
    <!--
var active_lang='hdevelop';function switchVisibility(obj,active_lang,new_lang)
{var display_style='inline';
for(var i=0;i<obj.length;i++)
{if(obj.item(i).getAttribute('data-if')==new_lang)
{obj.item(i).style.display=display_style;}
if(obj.item(i).getAttribute('data-if')==active_lang)
{obj.item(i).style.display='none';}}
return;}
function toggleLanguage(new_lang,initial)
{if(active_lang!=new_lang)
{var lis=document.getElementsByTagName('li');for(var i=0;i<lis.length;i++)
{if(lis.item(i).id=='syn-'+new_lang)
{lis.item(i).className='active';}
else
{lis.item(i).className='inactive';}}
var divs=document.getElementsByTagName('div');var spans=document.getElementsByTagName('span');switchVisibility(divs,active_lang,new_lang);switchVisibility(spans,active_lang,new_lang);if(!initial)
{setCookie("halcon_reference_language",new_lang,null,null);}
active_lang=new_lang;}
return;}
function setCookie(name,value,domain,exp_offset,path,secure)
{localStorage.setItem(name,value);}
function getCookie(name)
{return localStorage.getItem(name);}
function initialize()
{var qs=location.href.split('?')[1];var qs_lang_raw=location.href.split('interface=')[1];var qs_lang;if(qs_lang_raw)
{qs_lang=qs_lang_raw.split('#')[0];}
var cookie_lang=getCookie("halcon_reference_language");var new_lang;if((qs_lang=="hdevelop")||(qs_lang=="dotnet")||(qs_lang=="python")||(qs_lang=="cpp")||(qs_lang=="c"))
{new_lang=qs_lang;setCookie("halcon_reference_language",new_lang,null,null);}
else if((cookie_lang=="hdevelop")||(cookie_lang=="dotnet")||(cookie_lang=="python")||(cookie_lang=="cpp")||(cookie_lang=="c"))
{new_lang=cookie_lang;}
else
{new_lang="hdevelop";}
toggleLanguage(new_lang,1);return;}
-->

  </script>
</head>
<body onload="initialize();">
<div class="breadcrumb">
<br class="inv"><a href="index.html">目录</a> / <a href="toc_develop.html">Develop</a><br class="inv">
</div>
<div class="body_main">
<div class="tabbar"><ul class="tabs">
<li id="syn-hdevelop" class="active"><a href="javascript:void(0);" onclick="toggleLanguage('hdevelop')" onfocus="blur()">HDevelop</a></li>
<li id="syn-dotnet" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('dotnet')" onfocus="blur()">.NET</a></li>
<li id="syn-python" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('python')" onfocus="blur()">Python</a></li>
<li id="syn-cpp" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('cpp')" onfocus="blur()">C++</a></li>
<li id="syn-c" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('c')" onfocus="blur()">C</a></li>
</ul></div>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<div data-if="dotnet" style="display:none"><p>Use the tabs on the upper right to switch to a different programming language.</p></div>
<div data-if="cpp" style="display:none"><p>Use the tabs on the upper right to switch to a different programming language.</p></div>
<div data-if="c" style="display:none"><p>Use the tabs on the upper right to switch to a different programming language.</p></div>
<div data-if="python" style="display:none"><p>Use the tabs on the upper right to switch to a different programming language.</p></div>
<div data-if="hdevelop" style="display:inline">
<!--OP_REF_HEADER_END-->
<h1 id="sec_name">
<span data-if="hdevelop" style="display:inline;">dev_open_window</span><span data-if="c" style="display:none;">T_dev_open_window</span><span data-if="cpp" style="display:none;">DevOpenWindow</span><span data-if="dotnet" style="display:none;">DevOpenWindow</span><span data-if="python" style="display:none;">dev_open_window</span> (算子名称)</h1>
<h2>名称</h2>
<p><code><span data-if="hdevelop" style="display:inline;">dev_open_window</span><span data-if="c" style="display:none;">T_dev_open_window</span><span data-if="cpp" style="display:none;">DevOpenWindow</span><span data-if="dotnet" style="display:none;">DevOpenWindow</span><span data-if="python" style="display:none;">dev_open_window</span></code> — Open a new graphics window.</p>
<h2 id="sec_synopsis">参数签名</h2>
<div data-if="hdevelop" style="display:inline;">
<p>
<code><b>dev_open_window</b>( :  : <a href="#Row"><i>Row</i></a>, <a href="#Column"><i>Column</i></a>, <a href="#Width"><i>Width</i></a>, <a href="#Height"><i>Height</i></a>, <a href="#Background"><i>Background</i></a> : <a href="#WindowHandle"><i>WindowHandle</i></a>)</code></p>
</div>
<div data-if="c" style="display:none;">
<p>
<code>Herror <b>T_dev_open_window</b>(const Htuple <a href="#Row"><i>Row</i></a>, const Htuple <a href="#Column"><i>Column</i></a>, const Htuple <a href="#Width"><i>Width</i></a>, const Htuple <a href="#Height"><i>Height</i></a>, const Htuple <a href="#Background"><i>Background</i></a>, Htuple* <a href="#WindowHandle"><i>WindowHandle</i></a>)</code></p>
</div>
<div data-if="cpp" style="display:none;">
<p>
<code>void <b>DevOpenWindow</b>(const HTuple&amp; <a href="#Row"><i>Row</i></a>, const HTuple&amp; <a href="#Column"><i>Column</i></a>, const HTuple&amp; <a href="#Width"><i>Width</i></a>, const HTuple&amp; <a href="#Height"><i>Height</i></a>, const HTuple&amp; <a href="#Background"><i>Background</i></a>, HTuple* <a href="#WindowHandle"><i>WindowHandle</i></a>)</code></p>
<p>
<code>void <a href="HWindow.html">HWindow</a>::<b>DevOpenWindow</b>(Hlong <a href="#Row"><i>Row</i></a>, Hlong <a href="#Column"><i>Column</i></a>, Hlong <a href="#Width"><i>Width</i></a>, Hlong <a href="#Height"><i>Height</i></a>, const HTuple&amp; <a href="#Background"><i>Background</i></a>)</code></p>
<p>
<code>void <a href="HWindow.html">HWindow</a>::<b>DevOpenWindow</b>(Hlong <a href="#Row"><i>Row</i></a>, Hlong <a href="#Column"><i>Column</i></a>, Hlong <a href="#Width"><i>Width</i></a>, Hlong <a href="#Height"><i>Height</i></a>, Hlong <a href="#Background"><i>Background</i></a>)</code></p>
</div>
<div data-if="com" style="display:none;"></div>
<div data-if="dotnet" style="display:none;">
<p>
<code>static void <a href="HOperatorSet.html">HOperatorSet</a>.<b>DevOpenWindow</b>(<a href="HTuple.html">HTuple</a> <a href="#Row"><i>row</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Column"><i>column</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Width"><i>width</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Height"><i>height</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Background"><i>background</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#WindowHandle"><i>windowHandle</i></a>)</code></p>
<p>
<code>void <a href="HWindow.html">HWindow</a>.<b>DevOpenWindow</b>(int <a href="#Row"><i>row</i></a>, int <a href="#Column"><i>column</i></a>, int <a href="#Width"><i>width</i></a>, int <a href="#Height"><i>height</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Background"><i>background</i></a>)</code></p>
<p>
<code>void <a href="HWindow.html">HWindow</a>.<b>DevOpenWindow</b>(int <a href="#Row"><i>row</i></a>, int <a href="#Column"><i>column</i></a>, int <a href="#Width"><i>width</i></a>, int <a href="#Height"><i>height</i></a>, int <a href="#Background"><i>background</i></a>)</code></p>
</div>
<div data-if="python" style="display:none;">
<p>
<code>def <b>dev_open_window</b>(<a href="#Row"><i>row</i></a>: int, <a href="#Column"><i>column</i></a>: int, <a href="#Width"><i>width</i></a>: int, <a href="#Height"><i>height</i></a>: int, <a href="#Background"><i>background</i></a>: Union[int, str]) -&gt; HHandle</code></p>
</div>
<h2 id="sec_description">描述</h2>
<p><code><span data-if="hdevelop" style="display:inline">dev_open_window</span><span data-if="c" style="display:none">dev_open_window</span><span data-if="cpp" style="display:none">DevOpenWindow</span><span data-if="com" style="display:none">DevOpenWindow</span><span data-if="dotnet" style="display:none">DevOpenWindow</span><span data-if="python" style="display:none">dev_open_window</span></code> opens a new graphics window, which can
be used to display iconic objects like images, regions, and lines
as well as to perform textual output.  This window automatically
becomes active, which means that all output (<a href="dev_display.html"><code><span data-if="hdevelop" style="display:inline">dev_display</span><span data-if="c" style="display:none">dev_display</span><span data-if="cpp" style="display:none">DevDisplay</span><span data-if="com" style="display:none">DevDisplay</span><span data-if="dotnet" style="display:none">DevDisplay</span><span data-if="python" style="display:none">dev_display</span></code></a>
and automatic display of operator results) is redirected to this
window.  This is shown by the lucent lamp on the <code>Active</code>
button.
</p>
<p>Each graphics window is identified by its <a href="#WindowHandle"><i><code><span data-if="hdevelop" style="display:inline">WindowHandle</span><span data-if="c" style="display:none">WindowHandle</span><span data-if="cpp" style="display:none">WindowHandle</span><span data-if="com" style="display:none">WindowHandle</span><span data-if="dotnet" style="display:none">windowHandle</span><span data-if="python" style="display:none">window_handle</span></code></i></a>.
This logical number is displayed in the title bar of the graphics
window and is required as input parameter for some operators
like <a href="disp_image.html"><code><span data-if="hdevelop" style="display:inline">disp_image</span><span data-if="c" style="display:none">disp_image</span><span data-if="cpp" style="display:none">DispImage</span><span data-if="com" style="display:none">DispImage</span><span data-if="dotnet" style="display:none">DispImage</span><span data-if="python" style="display:none">disp_image</span></code></a>, <a href="disp_region.html"><code><span data-if="hdevelop" style="display:inline">disp_region</span><span data-if="c" style="display:none">disp_region</span><span data-if="cpp" style="display:none">DispRegion</span><span data-if="com" style="display:none">DispRegion</span><span data-if="dotnet" style="display:none">DispRegion</span><span data-if="python" style="display:none">disp_region</span></code></a>,
<a href="draw_circle.html"><code><span data-if="hdevelop" style="display:inline">draw_circle</span><span data-if="c" style="display:none">draw_circle</span><span data-if="cpp" style="display:none">DrawCircle</span><span data-if="com" style="display:none">DrawCircle</span><span data-if="dotnet" style="display:none">DrawCircle</span><span data-if="python" style="display:none">draw_circle</span></code></a>, <a href="get_mbutton.html"><code><span data-if="hdevelop" style="display:inline">get_mbutton</span><span data-if="c" style="display:none">get_mbutton</span><span data-if="cpp" style="display:none">GetMbutton</span><span data-if="com" style="display:none">GetMbutton</span><span data-if="dotnet" style="display:none">GetMbutton</span><span data-if="python" style="display:none">get_mbutton</span></code></a>, <a href="write_string.html"><code><span data-if="hdevelop" style="display:inline">write_string</span><span data-if="c" style="display:none">write_string</span><span data-if="cpp" style="display:none">WriteString</span><span data-if="com" style="display:none">WriteString</span><span data-if="dotnet" style="display:none">WriteString</span><span data-if="python" style="display:none">write_string</span></code></a>,
and <a href="set_rgb.html"><code><span data-if="hdevelop" style="display:inline">set_rgb</span><span data-if="c" style="display:none">set_rgb</span><span data-if="cpp" style="display:none">SetRgb</span><span data-if="com" style="display:none">SetRgb</span><span data-if="dotnet" style="display:none">SetRgb</span><span data-if="python" style="display:none">set_rgb</span></code></a>.
</p>
<p>The graphics window is closed by pressing the <code>Close</code>
button of the window frame, via the <code>Visualization</code> menu,
or by calling <a href="dev_close_window.html"><code><span data-if="hdevelop" style="display:inline">dev_close_window</span><span data-if="c" style="display:none">dev_close_window</span><span data-if="cpp" style="display:none">DevCloseWindow</span><span data-if="com" style="display:none">DevCloseWindow</span><span data-if="dotnet" style="display:none">DevCloseWindow</span><span data-if="python" style="display:none">dev_close_window</span></code></a>.
</p>
<h3>Graphics Window Position</h3>
<p>By default, the graphics window opens within the canvas
window.  If this is not desired,
select <code>Restore Default Layout use</code> -&gt;
<code>Docked Graphics Window</code> from the <code>Window</code> menu
in HDevelop.  See also “<code>Canvas Window</code>” in the
<a href="../../manuals/hdevelop_users_guide/hdevelop_gui_0000.html">
<code>“HDevelop User's Guide”</code>.
</a>
</p>
<p>The parameters <a href="#Row"><i><code><span data-if="hdevelop" style="display:inline">Row</span><span data-if="c" style="display:none">Row</span><span data-if="cpp" style="display:none">Row</span><span data-if="com" style="display:none">Row</span><span data-if="dotnet" style="display:none">row</span><span data-if="python" style="display:none">row</span></code></i></a> and <a href="#Column"><i><code><span data-if="hdevelop" style="display:inline">Column</span><span data-if="c" style="display:none">Column</span><span data-if="cpp" style="display:none">Column</span><span data-if="com" style="display:none">Column</span><span data-if="dotnet" style="display:none">column</span><span data-if="python" style="display:none">column</span></code></i></a> are used to
pass the position of the window.  Its reference point (0, 0)
on the canvas is visualized by a cross.
</p>
<p>For floating windows, the reference point is by default the
upper left corner of the HDevelop main window. You can change
this reference point, so that, for example, the graphics
window position aligns with the upper left corner of the
screen.  To do so, open the HDevelop preferences and choose
the desired <code>Origin of coordinates</code> under
<code>General options</code>.
</p>
<p>Moreover, you can adapt the window position via the setting
<code>Window open offset</code>.  These offset values are added to
the row and the column index, respectively.  See also “Menu
<code>Window open offset</code>” in the <code>“HDevelop User's
Guide”</code>.
</p>
<h3>Graphics Window Visualization</h3>
<p>The background of the created graphics window is set to the color
specified in <a href="#Background"><i><code><span data-if="hdevelop" style="display:inline">Background</span><span data-if="c" style="display:none">Background</span><span data-if="cpp" style="display:none">Background</span><span data-if="com" style="display:none">Background</span><span data-if="dotnet" style="display:none">background</span><span data-if="python" style="display:none">background</span></code></i></a>.  This parameter is not
available for 该算子 <a href="open_window.html"><code><span data-if="hdevelop" style="display:inline">open_window</span><span data-if="c" style="display:none">open_window</span><span data-if="cpp" style="display:none">OpenWindow</span><span data-if="com" style="display:none">OpenWindow</span><span data-if="dotnet" style="display:none">OpenWindow</span><span data-if="python" style="display:none">open_window</span></code></a>.  There, the same
behavior can be achieved by calling
<a href="set_window_attr.html"><code><span data-if="hdevelop" style="display:inline">set_window_attr(::'background_color',Background:)</span><span data-if="c" style="display:none">set_window_attr("background_color",Background)</span><span data-if="cpp" style="display:none">SetWindowAttr("background_color",Background)</span><span data-if="com" style="display:none">SetWindowAttr("background_color",Background)</span><span data-if="dotnet" style="display:none">SetWindowAttr("background_color",Background)</span><span data-if="python" style="display:none">set_window_attr("background_color",Background)</span></code></a> in
advance.
</p>
<p>As a default, the visible image part in the graphics window
(viewport) is set in a way that images are displayed without
clipping and fitted completely into the window.  The image part
is adapted to the window's size according to this rule for the
first image that is displayed after a program reset or the
loading of a new program or if the current image has a different
image size than the image that was displayed before.  The size of
the window is not adapted automatically, hence, if the aspect
ratio of the image differs from that of the window, the image is
distorted to fit into the window.  This can be changed via the
<code>Window Size</code> menu.
</p>
<p>The visible image part can be changed interactively by spinning
the mouse wheel, using the <code>Move</code> or <code>Zoom</code> mode,
via the <code>Image Size</code> menu, with the help of the
<code>Zoom</code> tab card on the <code>Visualization Parameters</code>
dialog, or with 该算子 <a href="dev_set_part.html"><code><span data-if="hdevelop" style="display:inline">dev_set_part</span><span data-if="c" style="display:none">dev_set_part</span><span data-if="cpp" style="display:none">DevSetPart</span><span data-if="com" style="display:none">DevSetPart</span><span data-if="dotnet" style="display:none">DevSetPart</span><span data-if="python" style="display:none">dev_set_part</span></code></a>.
</p>
<p>The display parameters of the graphics window can be specified
via its context menu, the <code>Visualization</code> menu, the
<code>Visualization Parameters</code> dialog, or the appropriate
HDevelop operators like <a href="dev_set_color.html"><code><span data-if="hdevelop" style="display:inline">dev_set_color</span><span data-if="c" style="display:none">dev_set_color</span><span data-if="cpp" style="display:none">DevSetColor</span><span data-if="com" style="display:none">DevSetColor</span><span data-if="dotnet" style="display:none">DevSetColor</span><span data-if="python" style="display:none">dev_set_color</span></code></a>,
<a href="dev_set_line_width.html"><code><span data-if="hdevelop" style="display:inline">dev_set_line_width</span><span data-if="c" style="display:none">dev_set_line_width</span><span data-if="cpp" style="display:none">DevSetLineWidth</span><span data-if="com" style="display:none">DevSetLineWidth</span><span data-if="dotnet" style="display:none">DevSetLineWidth</span><span data-if="python" style="display:none">dev_set_line_width</span></code></a>, <a href="dev_set_draw.html"><code><span data-if="hdevelop" style="display:inline">dev_set_draw</span><span data-if="c" style="display:none">dev_set_draw</span><span data-if="cpp" style="display:none">DevSetDraw</span><span data-if="com" style="display:none">DevSetDraw</span><span data-if="dotnet" style="display:none">DevSetDraw</span><span data-if="python" style="display:none">dev_set_draw</span></code></a>.  Depending on
the <code>Apply Immediately</code> preference, the parameter changes
are applied to the lastly displayed object or apply from now on
for all following objects.  In contrast to the standard HALCON
window operators, the new settings are also used for all new
graphics windows.
</p>
<h3>Graphics Window History</h3>
<p>Each graphics window manages a history that contains the
</p>
<ul>
<li>
<p> objects and
</p>
</li>
<li>
<p> display parameters
</p>
</li>
</ul>
<p>that have been displayed or changed since the most recent
clear action or display of a full image.  This history is used if
a redraw of the window is triggered, e.g., after a change of the
window's size, in order to reconstruct the complete window
contents.  Other iconic output that was displayed using HALCON
operators like <a href="disp_image.html"><code><span data-if="hdevelop" style="display:inline">disp_image</span><span data-if="c" style="display:none">disp_image</span><span data-if="cpp" style="display:none">DispImage</span><span data-if="com" style="display:none">DispImage</span><span data-if="dotnet" style="display:none">DispImage</span><span data-if="python" style="display:none">disp_image</span></code></a> or <a href="disp_region.html"><code><span data-if="hdevelop" style="display:inline">disp_region</span><span data-if="c" style="display:none">disp_region</span><span data-if="cpp" style="display:none">DispRegion</span><span data-if="com" style="display:none">DispRegion</span><span data-if="dotnet" style="display:none">DispRegion</span><span data-if="python" style="display:none">disp_region</span></code></a>, text
(<a href="write_string.html"><code><span data-if="hdevelop" style="display:inline">write_string</span><span data-if="c" style="display:none">write_string</span><span data-if="cpp" style="display:none">WriteString</span><span data-if="com" style="display:none">WriteString</span><span data-if="dotnet" style="display:none">WriteString</span><span data-if="python" style="display:none">write_string</span></code></a>), or geometric objects (<a href="disp_line.html"><code><span data-if="hdevelop" style="display:inline">disp_line</span><span data-if="c" style="display:none">disp_line</span><span data-if="cpp" style="display:none">DispLine</span><span data-if="com" style="display:none">DispLine</span><span data-if="dotnet" style="display:none">DispLine</span><span data-if="python" style="display:none">disp_line</span></code></a>,
<a href="disp_circle.html"><code><span data-if="hdevelop" style="display:inline">disp_circle</span><span data-if="c" style="display:none">disp_circle</span><span data-if="cpp" style="display:none">DispCircle</span><span data-if="com" style="display:none">DispCircle</span><span data-if="dotnet" style="display:none">DispCircle</span><span data-if="python" style="display:none">disp_circle</span></code></a>, etc.) are <b>not</b> part of the history,
and can therefore <b>not</b> be redrawn.  Only the object
classes image, region, and XLD that are displayed with the
HDevelop operator <a href="dev_display.html"><code><span data-if="hdevelop" style="display:inline">dev_display</span><span data-if="c" style="display:none">dev_display</span><span data-if="cpp" style="display:none">DevDisplay</span><span data-if="com" style="display:none">DevDisplay</span><span data-if="dotnet" style="display:none">DevDisplay</span><span data-if="python" style="display:none">dev_display</span></code></a> or by HDevelop actions
like double clicking on an icon are part of the history.
</p>
<p>Pressing the <code>Clear</code> button clears the graphics
window contents and the history of the window. This can also be
achieved by using 该算子 <a href="dev_clear_window.html"><code><span data-if="hdevelop" style="display:inline">dev_clear_window</span><span data-if="c" style="display:none">dev_clear_window</span><span data-if="cpp" style="display:none">DevClearWindow</span><span data-if="com" style="display:none">DevClearWindow</span><span data-if="dotnet" style="display:none">DevClearWindow</span><span data-if="python" style="display:none">dev_clear_window</span></code></a>.
This will not affect the current display parameters.
</p>
<h3>Further Information</h3>
<p>Additional information about the underlying HALCON window can
be found at <a href="open_window.html"><code><span data-if="hdevelop" style="display:inline">open_window</span><span data-if="c" style="display:none">open_window</span><span data-if="cpp" style="display:none">OpenWindow</span><span data-if="com" style="display:none">OpenWindow</span><span data-if="dotnet" style="display:none">OpenWindow</span><span data-if="python" style="display:none">open_window</span></code></a>. For more information about the
graphics window, please have a look at the
<code>“HDevelop User's Guide”</code>.
</p>
<h2 id="sec_attention">注意</h2>
<p>Using the code export feature of HDevelop, the code that is
generated for this operator may have a different behavior than
the related HALCON operator.  For a detailed description of the
code export of HDevelop graphics operators into the different
programming languages, in the <code>“HDevelop User's Guide”</code>,
see the chapter <code>Code Export</code> -&gt;
<code>General Aspects of Code Generation</code>
-&gt; <code>Graphics Windows</code>.  </p>
<h2 id="sec_parameters">参数表</h2>
  <div class="par">
<div class="parhead">
<span id="Row" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Row</span><span data-if="c" style="display:none">Row</span><span data-if="cpp" style="display:none">Row</span><span data-if="com" style="display:none">Row</span><span data-if="dotnet" style="display:none">row</span><span data-if="python" style="display:none">row</span></code></b> (input_control)  </span><span>rectangle.origin.y <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">int</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (integer)</span><span data-if="dotnet" style="display:none"> (<i>int</i> / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>Hlong</i>)</span><span data-if="c" style="display:none"> (<i>Hlong</i>)</span></span>
</div>
<p class="pardesc">Row index of upper left corner.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>0</p>
<p class="pardesc"><span class="parcat">Value range:
      </span><code>0
          ≤
        
    <span data-if="hdevelop" style="display:inline">Row</span>
    <span data-if="c" style="display:none">Row</span>
    <span data-if="cpp" style="display:none">Row</span>
    <span data-if="com" style="display:none">Row</span>
    <span data-if="dotnet" style="display:none">row</span>
    <span data-if="python" style="display:none">row</span>
    </code></p>
<p class="pardesc"><span class="parcat">Minimum increment:
      </span>1</p>
<p class="pardesc"><span class="parcat">Recommended increment:
      </span>1</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Column" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Column</span><span data-if="c" style="display:none">Column</span><span data-if="cpp" style="display:none">Column</span><span data-if="com" style="display:none">Column</span><span data-if="dotnet" style="display:none">column</span><span data-if="python" style="display:none">column</span></code></b> (input_control)  </span><span>rectangle.origin.x <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">int</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (integer)</span><span data-if="dotnet" style="display:none"> (<i>int</i> / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>Hlong</i>)</span><span data-if="c" style="display:none"> (<i>Hlong</i>)</span></span>
</div>
<p class="pardesc">Column index of upper left corner.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>0</p>
<p class="pardesc"><span class="parcat">Value range:
      </span><code>0
          ≤
        
    <span data-if="hdevelop" style="display:inline">Column</span>
    <span data-if="c" style="display:none">Column</span>
    <span data-if="cpp" style="display:none">Column</span>
    <span data-if="com" style="display:none">Column</span>
    <span data-if="dotnet" style="display:none">column</span>
    <span data-if="python" style="display:none">column</span>
    </code></p>
<p class="pardesc"><span class="parcat">Minimum increment:
      </span>1</p>
<p class="pardesc"><span class="parcat">Recommended increment:
      </span>1</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Width" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Width</span><span data-if="c" style="display:none">Width</span><span data-if="cpp" style="display:none">Width</span><span data-if="com" style="display:none">Width</span><span data-if="dotnet" style="display:none">width</span><span data-if="python" style="display:none">width</span></code></b> (input_control)  </span><span>rectangle.extent.x <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">int</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (integer)</span><span data-if="dotnet" style="display:none"> (<i>int</i> / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>Hlong</i>)</span><span data-if="c" style="display:none"> (<i>Hlong</i>)</span></span>
</div>
<p class="pardesc">Width of the window.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>512</p>
<p class="pardesc"><span class="parcat">Minimum increment:
      </span>1</p>
<p class="pardesc"><span class="parcat">Recommended increment:
      </span>1</p>
<p class="pardesc"><span class="parcat">Restriction:
      </span><code>Width &gt; 0 || Width == -1</code></p>
</div>
  <div class="par">
<div class="parhead">
<span id="Height" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Height</span><span data-if="c" style="display:none">Height</span><span data-if="cpp" style="display:none">Height</span><span data-if="com" style="display:none">Height</span><span data-if="dotnet" style="display:none">height</span><span data-if="python" style="display:none">height</span></code></b> (input_control)  </span><span>rectangle.extent.y <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">int</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (integer)</span><span data-if="dotnet" style="display:none"> (<i>int</i> / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>Hlong</i>)</span><span data-if="c" style="display:none"> (<i>Hlong</i>)</span></span>
</div>
<p class="pardesc">Height of the window.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>512</p>
<p class="pardesc"><span class="parcat">Minimum increment:
      </span>1</p>
<p class="pardesc"><span class="parcat">Recommended increment:
      </span>1</p>
<p class="pardesc"><span class="parcat">Restriction:
      </span><code>Height &gt; 0 || Height == -1</code></p>
</div>
  <div class="par">
<div class="parhead">
<span id="Background" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Background</span><span data-if="c" style="display:none">Background</span><span data-if="cpp" style="display:none">Background</span><span data-if="com" style="display:none">Background</span><span data-if="dotnet" style="display:none">background</span><span data-if="python" style="display:none">background</span></code></b> (input_control)  </span><span>integer <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Union[int, str]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (integer / </span><span data-if="hdevelop" style="display:inline">string)</span><span data-if="dotnet" style="display:none"> (<i>int</i> / </span><span data-if="dotnet" style="display:none">long / </span><span data-if="dotnet" style="display:none">string)</span><span data-if="cpp" style="display:none"> (<i>Hlong</i> / </span><span data-if="cpp" style="display:none">HString)</span><span data-if="c" style="display:none"> (<i>Hlong</i> / </span><span data-if="c" style="display:none">char*)</span></span>
</div>
<p class="pardesc">Color of the background of the new window.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>
    <span data-if="hdevelop" style="display:inline">'black'</span>
    <span data-if="c" style="display:none">"black"</span>
    <span data-if="cpp" style="display:none">"black"</span>
    <span data-if="com" style="display:none">"black"</span>
    <span data-if="dotnet" style="display:none">"black"</span>
    <span data-if="python" style="display:none">"black"</span>
</p>
</div>
  <div class="par">
<div class="parhead">
<span id="WindowHandle" class="parname"><b><code><span data-if="hdevelop" style="display:inline">WindowHandle</span><span data-if="c" style="display:none">WindowHandle</span><span data-if="cpp" style="display:none">WindowHandle</span><span data-if="com" style="display:none">WindowHandle</span><span data-if="dotnet" style="display:none">windowHandle</span><span data-if="python" style="display:none">window_handle</span></code></b> (output_control)  </span><span>window <code>→</code> <span data-if="dotnet" style="display:none"><a href="HWindow.html">HWindow</a>, </span><span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">HHandle</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (handle)</span><span data-if="dotnet" style="display:none"> (<i>IntPtr</i>)</span><span data-if="cpp" style="display:none"> (<i>HHandle</i>)</span><span data-if="c" style="display:none"> (<i>handle</i>)</span></span>
</div>
<p class="pardesc">Window handle.</p>
</div>
<h2 id="sec_example_hdevelop">例程 (HDevelop)</h2>
<pre class="example">
dev_close_window ()
read_image (For5, 'for5')
get_image_size (For5, Width, Height)
dev_open_window (0, 0, Width, Height, 'black', WindowHandle)
dev_display (For5)
dev_set_lut ('rainbow')
dev_display (For5)
stop ()
dev_set_lut ('default')
dev_display (For5)
stop ()
dev_set_part (100, 100, 300, 300)
dev_display (For5)
</pre>
<h2 id="sec_result">结果</h2>
<p>If the values of the specified parameters are correct,
<code><span data-if="hdevelop" style="display:inline">dev_open_window</span><span data-if="c" style="display:none">dev_open_window</span><span data-if="cpp" style="display:none">DevOpenWindow</span><span data-if="com" style="display:none">DevOpenWindow</span><span data-if="dotnet" style="display:none">DevOpenWindow</span><span data-if="python" style="display:none">dev_open_window</span></code> returns <TT>2</TT> (
      <TT>H_MSG_TRUE</TT>)
    .  Otherwise, an
exception is raised and an error code returned.</p>
<h2 id="sec_successors">可能的后置算子</h2>
<p>
<code><a href="dev_display.html"><span data-if="hdevelop" style="display:inline">dev_display</span><span data-if="c" style="display:none">dev_display</span><span data-if="cpp" style="display:none">DevDisplay</span><span data-if="com" style="display:none">DevDisplay</span><span data-if="dotnet" style="display:none">DevDisplay</span><span data-if="python" style="display:none">dev_display</span></a></code>, 
<code><a href="dev_set_lut.html"><span data-if="hdevelop" style="display:inline">dev_set_lut</span><span data-if="c" style="display:none">dev_set_lut</span><span data-if="cpp" style="display:none">DevSetLut</span><span data-if="com" style="display:none">DevSetLut</span><span data-if="dotnet" style="display:none">DevSetLut</span><span data-if="python" style="display:none">dev_set_lut</span></a></code>, 
<code><a href="dev_set_color.html"><span data-if="hdevelop" style="display:inline">dev_set_color</span><span data-if="c" style="display:none">dev_set_color</span><span data-if="cpp" style="display:none">DevSetColor</span><span data-if="com" style="display:none">DevSetColor</span><span data-if="dotnet" style="display:none">DevSetColor</span><span data-if="python" style="display:none">dev_set_color</span></a></code>, 
<code><a href="dev_set_draw.html"><span data-if="hdevelop" style="display:inline">dev_set_draw</span><span data-if="c" style="display:none">dev_set_draw</span><span data-if="cpp" style="display:none">DevSetDraw</span><span data-if="com" style="display:none">DevSetDraw</span><span data-if="dotnet" style="display:none">DevSetDraw</span><span data-if="python" style="display:none">dev_set_draw</span></a></code>, 
<code><a href="dev_set_part.html"><span data-if="hdevelop" style="display:inline">dev_set_part</span><span data-if="c" style="display:none">dev_set_part</span><span data-if="cpp" style="display:none">DevSetPart</span><span data-if="com" style="display:none">DevSetPart</span><span data-if="dotnet" style="display:none">DevSetPart</span><span data-if="python" style="display:none">dev_set_part</span></a></code>
</p>
<h2 id="sec_alternatives">可替代算子</h2>
<p>
<code><a href="open_window.html"><span data-if="hdevelop" style="display:inline">open_window</span><span data-if="c" style="display:none">open_window</span><span data-if="cpp" style="display:none">OpenWindow</span><span data-if="com" style="display:none">OpenWindow</span><span data-if="dotnet" style="display:none">OpenWindow</span><span data-if="python" style="display:none">open_window</span></a></code>
</p>
<h2 id="sec_see">参考其它</h2>
<p>
<code><a href="query_color.html"><span data-if="hdevelop" style="display:inline">query_color</span><span data-if="c" style="display:none">query_color</span><span data-if="cpp" style="display:none">QueryColor</span><span data-if="com" style="display:none">QueryColor</span><span data-if="dotnet" style="display:none">QueryColor</span><span data-if="python" style="display:none">query_color</span></a></code>
</p>
<h2 id="sec_module">模块</h2>
<p>
Foundation</p>
</div>
<!--OP_REF_FOOTER_START-->
<hr>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<div class="footer">
<div class="copyright">HALCON算子参考手册 Copyright © 2015-2023 51Halcon</div>
</div>
</div>
</body>
</html>
